1. Field of the Invention
The present invention relates to data communication systems and, more particularly, to data communication systems using codes with coding boundaries that vary according to a dithering pattern.
2. Description of the Related Art
Pseudo-noise (PN, or pseudorandom) codes are ideal for ranging, that is, measuring the time-of-arrival of a signal, in noisy conditions, including jamming noise, because of the high coding gain and fine timing resolution that can be achieved using PN codes. There are occasions where the timing information in such a signal is to be denied to hostile or unauthorized receivers. Although, at the same time it is necessary for authorized receivers to have access to that timing information. The signal also must provide jam-resistant performance for authorized receivers. Conventional methods of transmission do not satisfy both requirements of selectively providing timing information only to authorized receivers and providing those receivers with jam-resistant performance for the following reasons.
A high coding gain implies that the code needs to be correlated for a long time, but for fast acquisition, there should not be too many possible phase positions to be searched. These two factors imply that the code needs to be repeated during the correlation time. However, repeating the code implies that some code structure will be observable by an unauthorized receiver. Conventional repetition of a code will reveal some timing information to unauthorized receivers that could be used to acquire further information from the transmission system, and could compromise its security.
For example, in the Global Positioning System (GPS), a non-repeating encrypted data stream, known as the “Y code”, is used to deny timing information to unauthorized receivers. However, there are so many possible phase positions to be searched in the Y code that a separate signaling system using the Coarse Acquisition “C/A” code is needed to aid the signal detection.
A simplified diagram of a GPS transmitter 1 and receiver 9 is shown in FIG. 1. The transmitter includes a PN code generator 2 that is controlled by a timing counter 3 and both are driven based on a clock oscillator 4. The PN code generated by generator 2 is modulated with a carrier signal via modulator 5 which is driven by carrier oscillator 6. Optionally, data can be superimposed onto the code and carrier by using a modulo 2 adder 7. To deny access to the GPS timing and navigation information and signals, the Y code is generated with a non-repeating data stream, as indicated above. Although not shown in FIG. 1, the PN code generator 2 would have the PN code encrypted according to an encryption algorithm that requires a secret key to decode.
The transmitter 1 transmits the modulated, and in this case encrypted, carrier via antenna 8 to a receiver 9.
The receiver 9 receives the transmitted signal via an antenna 10 that provides the received signal to a demodulator 11. The demodulator 11 is driven by a carrier oscillator 12, and produces two signals out-of-phase by 90°. Those signals are designated as in-phase (I) and quadrature (Q) signals. These two out-of-phase signals are provided to a group of parallel correlators 13. The parallel correlators can include as many, and even more, correlators as the number of phases of the code to be tested. For example, if the code length is 1023 symbols, or chips, the parallel correlators 13 can consist of 1023 correlators, with one correlator for each possible phase of the code. Multiple banks of the parallel correlators 13 can be used to correlate different signals, such as in this case where one bank correlates the I-signals and another bank correlates the Q-signals. The parallel correlators 13 are also provided with PN reference codes that correspond to the PN codes generated in the transmitter. Here, in order to use the Y code, the receiver's PN code generator 14 must have the decryption key, corresponding to the encryption key used by the transmitter to encrypt the signal. The PN code generator 14 generates the reference codes. A typical PN generator is shown in FIG. 2, where a shift register 20 generates the PN code using adder 21 and feed back into the shift register.
The reference codes can be delayed to correspond to the various phases to be tested. Alternatively, the input signals, here the I and Q signals, can be delayed with various delays and correlated with a single PN code to test the different phases. The PN code generator 14 is driven by a local clock oscillator 15 and timing counters 16 which can produce the different timings for the PN reference codes. The local clock oscillator also drives timing counters 16.
The GPS receiver 9, shown in FIG. 1, requires two PN code generators. One of the PN generators, similar in concept to the generator shown in FIG. 2, generates the P code and another, also similar to that shown in FIG. 2, generates the C/A code. Although only one generator is shown in the FIG. 1 it will be understood that in the case of a long code system, such as GPS, two generators are used. Also, the receiver, in the threshold detection function 17, must be able to detect both the P and C/A codes.
Consequently, conventional spread-spectrum receivers, such as GPS receivers, suffer from the problems described above and are unable to detect a long non-repeating code without the aid of a second timing signal. Accordingly, there is a need for a long non-repeating code that can be acquired by an authorized receiver without the need for first detecting a second, assisting, timing signal.